package File;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

//文件操作使用字节流的InputStream
public class Demo7 {
    public static void main(String[] args) throws IOException {
        try (InputStream inputStream = new FileInputStream("./src/test.txt")) {
            while (true){
                byte[] b = new byte[1024];
                int n = inputStream.read(b);//返回读取到的字节的个数
                if (n == -1){
                    break;
                }
                for (int i = 0; i < n; i++) {
                    System.out.printf("%x,",b[i]);
                }
                //此时返回的是文件中对应的utf8的16进制的编码，但是我们一般是需要读出文件中的字符串的，所以可以通过以下方式进行转换为String
                String result = new String(b,0,n,"utf8");//这里的utf8也可以不写，String构造方法内部会帮助对字节数组自动转为utf8格式的数据。（自动进行编码转换）
                System.out.println(result);
            }
        }
    }
}
